// pages/classify/classify.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //是否显示下拉菜单
    menu: -1,
    active1Font: '商品分类',
    active2Font: '价格排序',
    active3Font: '品牌',
    //商品分类
    classifies:[],
    //品牌分类
    classifies3:[],
    classifies2: [
      { id: 3, title: "从低到高" },
      { id: 2, title: "从高到低" }
    ],
    goods: [], //商品列表
    //商品图片基础url
    baseGoodsImgUrl: 'https://try.0791jr.com/data/attachment/item/',
    //页数
    page: 1,
    //每页加载的商品数量
    pagesize: 20,
    //流加载---加载中提示
    loading: true,
    //流加载---没有更多了
    //也是判断是否要加载数据的阀门，false加载，true不加载
    nomore: false,
    //商品类别
    cateId: -9999,
    //品牌类别
    brandId:-9998,
    //是否选中销量排序
    salesActive: false,
    //价格排序的选中项
    priceItemActive:-1,
    //选择的排序类型
    sortType: -1,
    //没有任何商品时提示
    isNone: false,
    //为空提示
    emptyTip: {
      font: "没有相关宝贝~",
      imgUrl: "https://try.0791jr.com/WeChat/images/empty-info.png"
    }
  },


  /**
   * 生命周期函数--监听页面显示
   */
  onLoad: function () {
    // console.log(app.globalData.catedid);
    const listid = app.globalData.catedid;
    if (app.globalData.catedid != null) {
      let listname = app.globalData.catedname;
      console.log(app.globalData.catedid);    
      wx.request({
        url: app.baseURL + 'Item&a=index&cate_id=' + listid +'&user_id='+app.globalData.userId,
        success: (res) => {
          // if (listid == 615){
          //   listname = res.data.itemcate[0].name
          // }else{
          //   listname = res.data.itemcate[1].name
          // }
          app.globalData.catedType = 0;
          this.setData({
            cateId: listid,
            goods: res.data.list,
            classifies: res.data.itemcate,
            classifies3:res.data.brand_list,//品牌分类
            active1Font: listname,
            active2Font: '价格排序',
            active3Font:'品牌',
            priceItemActive: -1,
            menu: -1, //隐藏所有的下拉菜单
            salesActive: false //取消销量优先的选中状态
          })
          //调用函数，判断是否已经最后一页
          this.isNoMore(res.data.list.length);
        }
      })
    }else{
      // 默认请求全部类型的商品，
      // 页数第一页
      wx.showNavigationBarLoading();
      wx.request({
        url: app.baseURL + 'Item&a=index&user_id=' + app.globalData.userId,
        // url: app.baseURL + 'Item&a=index&pagesize=' + this.data.pagesize + '&user_id=' + app.globalData.userId,
        success: (res) => {
          app.globalData.catedType = 0;
          // console.log(res);
          this.setData({
            goods: res.data.list,
            isNone: !res.data.list.length,
            classifies: res.data.itemcate,
            classifies3:res.data.brand_list,//品牌分类
          });
          console.log(res.data.list.length)
          //调用函数，判断是否已经最后一页
          this.isNoMore(res.data.list.length);
          wx.hideNavigationBarLoading();
        }
      });
    }
    // app.setBadge(2, wx.getStorageSync('car_num') || 0); //更新购物车数量、
  },

  onShow: function (){
    if (app.globalData.catedType == 1){
      this.onLoad();
    }
  },

  // 展示分类下拉菜单
  showTypeMenu(e){
    this.setData({ menu: 0 })
  },
  // 展示品牌下拉菜单
  showTypeMenu_brand(e) {
    this.setData({ menu: 3 })
  },
    //展示价格排序菜单
  showPriceMenu(e){
    this.setData({ menu: 2 })
  },
  // 选择商品分类
  selectClassify(e){
    const cateId= e.currentTarget.dataset.id; //分类id
    let brandId = this.data.brandId;
    const name = e.currentTarget.dataset.name; //分类名称
    this.setData({ 
      cateId: cateId, //选中的商品分类id
      active1Font: name, //选中的商品分类名称
      active2Font: '价格排序',
      priceItemActive: -1,
      brandId:-9998,
      menu: -1, //隐藏所有的下拉菜单
      salesActive: false, //取消销量优先的选中状态
      scrollTop: 0,   //返回顶部
    }); 
    //选择某个分类
    if (cateId != '-9999'&& this.data.brandId!='-9998') {
      console.log(cateId+'--'+this.data.brandId);
      wx.request({ 
        url: app.baseURL + 'Item&a=screen&brand_id=' + brandId + '&user_id=' + app.globalData.userId + "&type=4" + "&cate_id=" + cateId,
        success: (res) => {
          if (res.data.status == 1) {
            this.setData({
              goods: res.data.list,
              cateId: cateId,
              classifies3: res.data.brand_list,//品牌分类
              brandId:-9998,
            });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
          }
        }
      })
    //选择全部分类  
    } else if (cateId == '-9999' && this.data.brandId == '-9998') {
      wx.request({
        url: app.baseURL + 'Item&a=index&user_id=' + app.globalData.userId,
        success: (res) => {
          if (res.data.status == 1) {
            this.setData({
              goods: res.data.list,
              menu: -1,
              cateId: '-9999',
              brandId:'-9998',
              classifies3: res.data.brand_list  ,   
            });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
          }
        }
      })
    } else if (cateId != '-9999' && this.data.brandId == '-9998'){
      wx.request({
        url: app.baseURL + 'Item&a=index&user_id=' + app.globalData.userId + '&cate_id=' + cateId,
        success: (res) => {
          if (res.data.status == 1) {
            this.setData({
              goods: res.data.list,
              cateId:cateId,
              menu: -1,
              brandId:'-9998',
              active3Font: '品牌',
              classifies3: res.data.brand_list
            });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
          }
        }
      })
    } else if (cateId == '-9999' && this.data.brandId != '-9998') {
      wx.request({
        url: app.baseURL + 'Item&a=screen&user_id=' + app.globalData.userId +'&brand_id='+this.data.brandId+'&type=4',
        success: (res) => {
          if (res.data.status == 1) {
            this.setData({
              goods: res.data.list,
              cateId:'-9999',
              menu: -1,
              classifies3: res.data.brand_list
            });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
          }
        }
      })
    }

  },
  // 选择品牌分类
  select_brand_Classify(e) {
    let brandId = e.currentTarget.dataset.id; //分类id
    let cateId = this.data.cateId;
    console.log(brandId+'-0-'+cateId)
    let name = e.currentTarget.dataset.name; //分类名称
    this.setData({
      brandId: brandId, //选中的品牌分类id
      active3Font: name, //选中的品牌分类名称
      menu: -1, //隐藏所有的下拉菜单
      scrollTop: 0,   //返回顶部
    });
    //选择某个品牌分类
    if (brandId != '-9998' && cateId == '-9999') {
      console.log(brandId+'-1选'+this.data.cateId);
      wx.request({
        url: app.baseURL + 'Item&a=screen&brand_id=' + brandId + '&user_id=' + app.globalData.userId + "&type=4",
        success: (res) => {
          if (res.data.status == 1) {
            this.setData({
              goods: res.data.list,
              brandId:brandId,
            });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
          }
        }
      })
      //选择有分类的品牌分类  
    } else if (brandId != '-9998' && cateId!='-9999') {
      console.log(brandId + '2选' +  cateId);
      wx.request({
        url: app.baseURL + 'Item&a=screen&user_id=' + app.globalData.userId + '&cate_id=' + cateId + '&brand_id=' + brandId+'&type=4',
        success: (res) => {
          if (res.data.status == 1) {
            this.setData({
              goods: res.data.list,
              menu: -1,
              brandId:brandId
            });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
          }
        }
      })
    }else if(brandId == '-9998' && cateId!= '-9999'){
      wx.request({
        url: app.baseURL + 'Item&a=index&user_id=' + app.globalData.userId + '&cate_id=' + cateId,
        success: (res) => {
          if (res.data.status == 1) {
            this.setData({
              goods: res.data.list,
              cateId: cateId,
              menu: -1,
              brandId: '-9998',
              // active3Font: '品牌',
              classifies3: res.data.brand_list
            });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
          }
        }
      })
    }
  },
  //销量优先排序
  salesFirst: function(e) {
    let cateId = this.data.cateId;
    let brandId = this.data.brandId;
    //在数据请求完成之前显示‘加载中’弹窗提示
    wx.showLoading({ title: '加载中'});
    this.setData({
      salesActive: true,
      active2Font: '价格排序',
      priceItemActive: -1,
      menu: -1,
      goods: [], //清除商品数据
      nomore: false,
      scrollTop: 0,   //返回顶部
    });
    //判断是全部商品还是某类商品
    if (cateId == '-9999' && brandId=='-9998'){
      let url = app.baseURL + 'Item&a=screen&type=1&pagesize=' + this.data.pagesize + '&user_id=' + app.globalData.userId;
      //请求数据  
      wx.request({
        url: url,
        success: (res) => {
          //服务器返回数据成功
          if (res.data.status == 1) {
            //更新商品数据
            this.setData({
              goods: res.data.list,
              sortType: 1,
              page: 1
            });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
            //关闭加载中提示弹窗
            wx.hideLoading();
          }
        }
      });
    } else if (cateId != '-9999' && brandId == '-9998'){
      let url = app.baseURL + 'Item&a=screen&type=1&pagesize=' + this.data.pagesize + '&cate_id=' + cateId+ '&user_id=' + app.globalData.userId;
      //请求数据  
      wx.request({
        url: url,
        success: (res) => {
          //服务器返回数据成功
          if (res.data.status == 1) {
            //更新商品数据
            this.setData({
              goods: res.data.list,
              sortType: 1,
              page: 1
            });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
            //关闭加载中提示弹窗
            wx.hideLoading();
          }
        }
      });
    } else if (cateId != '-9999' && brandId != '-9998'){
      let url = app.baseURL + 'Item&a=screen&type=1&pagesize=' + this.data.pagesize + '&cate_id=' + cateId + "&brand_id=" + brandId + '&user_id=' + app.globalData.userId;
      //请求数据  
      wx.request({
        url: url,
        success: (res) => {
          //服务器返回数据成功
          if (res.data.status == 1) {
            //更新商品数据
            this.setData({
              goods: res.data.list,
              sortType: 1,
              page: 1
            });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
            //关闭加载中提示弹窗
            wx.hideLoading();
          }
        }
      });
    } else if (cateId == '-9999' && brandId != '-9998'){
      let url = app.baseURL + 'Item&a=screen&type=1&pagesize=' + this.data.pagesize + '&user_id=' + app.globalData.userId + "&brand_id=" + brandId;
      //请求数据  
      wx.request({
        url: url,
        success: (res) => {
          //服务器返回数据成功
          if (res.data.status == 1) {
            //更新商品数据
            this.setData({
              goods: res.data.list,
              sortType: 1,
              page: 1
            });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
            //关闭加载中提示弹窗
            wx.hideLoading();
          }
        }
      });
    }
    // let url = cateId == '-9999' ? app.baseURL + 'Item&a=screen&type=1&pagesize=' + this.data.pagesize + '&user_id=' + app.globalData.userId
    //   : app.baseURL + 'Item&a=screen&type=1&pagesize=' + this.data.pagesize + '&cate_id=' + cateId +"&brand_id="+this.data.brandId + '&user_id=' + app.globalData.userId;
    //请求数据  
    // wx.request({
    //   url: url,
    //   success: (res) => {
    //     //服务器返回数据成功
    //     if (res.data.status == 1) {
    //       //更新商品数据
    //       this.setData({ 
    //         goods: res.data.list,
    //         sortType: 1,
    //         page: 1
    //       });
    //       //调用函数，判断是否已经最后一页
    //       this.isNoMore(res.data.list.length);
    //       //关闭加载中提示弹窗
    //       wx.hideLoading();
    //     }
    //   }
    // });
  },

  //进行价格排序
  selectPriceSort(e) {
    const index = e.currentTarget.dataset.i; //2从低到高排序，3从高到底排序
    const cateId = this.data.cateId;
    let brandId = this.data.brandId;
    //在数据请求完成之前显示‘加载中’弹窗提示
    wx.showLoading({ title: '加载中' });
    this.setData({
      active2Font: e.currentTarget.dataset.name,
      menu: -1,
      goods:[],
      salesActive: false,
      priceItemActive: index,
      nomore: false,
      scrollTop: 0,   //返回顶部
    });
    //判断是全部商品还是某类商品
    if (cateId == '-9999' && brandId == '-9998') {
      let url = app.baseURL + 'Item&a=screen&type=' + index + '&pagesize=' + this.data.pagesize + '&page=1' + '&user_id=' + app.globalData.userId
      //请求数据  
      wx.request({
        url: url,
        success: (res) => {
          if (res.data.status == 1) {
            this.setData({
              goods: res.data.list,
              sortType: index,
              page: 1
            })
          };
          //调用函数，判断是否已经最后一页
          this.isNoMore(res.data.list.length);
          //关闭加载中提示弹窗
          wx.hideLoading();
        }
      });
    } else if (cateId != '-9999' && brandId == '-9998') {
      let url = app.baseURL + 'Item&a=screen&type=' + index + '&pagesize=' + this.data.pagesize + '&cate_id=' + cateId + '&user_id=' + app.globalData.userId;
      //请求数据  
      wx.request({
        url: url,
        success: (res) => {
          if (res.data.status == 1) {
            this.setData({
              goods: res.data.list,
              sortType: index,
              page: 1
            })
          };
          //调用函数，判断是否已经最后一页
          this.isNoMore(res.data.list.length);
          //关闭加载中提示弹窗
          wx.hideLoading();
        }
      });
    } else if (cateId != '-9999' && brandId != '-9998') {
      let url = app.baseURL + 'Item&a=screen&type=' + index+'&pagesize=' + this.data.pagesize + '&cate_id=' + cateId + "&brand_id=" + brandId + '&user_id=' + app.globalData.userId;
      //请求数据  
      wx.request({
        url: url,
        success: (res) => {
          console.log('-----------');
          console.log(res);
          if (res.data.status == 1) {
            this.setData({
              goods: res.data.list,
              sortType: index,
              page: 1
            })
          };
          //调用函数，判断是否已经最后一页
          this.isNoMore(res.data.list.length);
          //关闭加载中提示弹窗
          wx.hideLoading();
        }
      });
    } else if (cateId == '-9999' && brandId != '-9998') {
      let url = app.baseURL + 'Item&a=screen&type=' + index+'&pagesize=' + this.data.pagesize + '&user_id=' + app.globalData.userId + "&brand_id=" + brandId;
      //请求数据  
      wx.request({
        url: url,
        success: (res) => {
          if (res.data.status == 1) {
            this.setData({
              goods: res.data.list,
              sortType: index,
              page: 1
            })
          };
          //调用函数，判断是否已经最后一页
          this.isNoMore(res.data.list.length);
          //关闭加载中提示弹窗
          wx.hideLoading();
        }
      });
    }
    //首先判断有没有选择分类
    // let url = cateId == '-9999' ? app.baseURL + 'Item&a=screen&type=' + index + '&pagesize=' + this.data.pagesize + '&page=1' + '&user_id=' + app.globalData.userId + "&brand_id=" + this.data.brandId
    //   : app.baseURL + 'Item&a=screen&type=' + index + '&pagesize=' + this.data.pagesize + '&cate_id=' + cateId + '&user_id=' + app.globalData.userId + "&brand_id=" + this.data.brandId;
    // wx.request({
    //   url: url,
    //   success: (res) => {
    //     console.log('-----------');         
    //     console.log(res);
    //     if (res.data.status == 1) { 
    //       this.setData({ 
    //         goods: res.data.list,
    //         sortType: index,
    //         page: 1
    //       })
    //     };
    //     //调用函数，判断是否已经最后一页
    //     this.isNoMore(res.data.list.length);
    //     //关闭加载中提示弹窗
    //     wx.hideLoading();
    //   }
    // });
  },

  //关闭菜单
  closeMenu(){ this.setData({menu: -1}); },

  //加载更多
  loadMore(){
    let cateId = this.data.cateId;
    let brandId =this.data.brandId;
    console.log(cateId)
    console.log(brandId)
    console.log(this.data.nomore)
    let url;
    //如果有更多商品，进行加载
    if (!this.data.nomore) {
      //显示加载中提示,页数加1
      this.setData({
        loading: true, 
        page: this.data.page + 1
      });
      //如果是全部商品，请求商品列表的接口
      //否则请求商品筛选的接口
      if (cateId != '-9999' && brandId == '-9998' && this.data.sortType == -1){
        url = app.baseURL + 'Item&a=index'+ '&pagesize=' + this.data.pagesize + '&page=' + this.data.page + '&user_id=' + app.globalData.userId+'&cate_id='+this.data.cateId;
        //请求下一页数据
        wx.request({
          url: url,
          //数据请求成功qwe 
          success: (res) => {
            //更新数据
            this.setData({ goods: [...this.data.goods, ...res.data.list] });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
          },
          fail: (err) => {
            wx.showToast({
              title: '网络错误',
            })
          }
        });
      } else if (cateId == '-9999' && brandId == '-9998' && this.data.sortType == -1){
        //没有选择任何筛选
        url = app.baseURL + 'Item&a=index&pagesize=' + this.data.pagesize + '&page=' + this.data.page + '&user_id=' + app.globalData.userId;
        //请求下一页数据
        wx.request({
          url: url,
          //数据请求成功qwe 
          success: (res) => {
            //更新数据
            this.setData({ goods: [...this.data.goods, ...res.data.list] });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
          },
          fail: (err) => {
            wx.showToast({
              title: '网络错误',
            })
          }
        });
      } else if (cateId != '-9999' && brandId != '-9998' && this.data.sortType == -1){
      url= app.baseURL + 'Item&a=screen&type=4'+ '&pagesize=' + this.data.pagesize + '&page=' + this.data.page + '&user_id=' + app.globalData.userId+'&cate_id='+cateId+'&brand_id='+brandId;
        //请求下一页数据
        wx.request({
          url: url,
          //数据请求成功qwe 
          success: (res) => {
            //更新数据
            this.setData({ goods: [...this.data.goods, ...res.data.list] });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
          },
          fail: (err) => {
            wx.showToast({
              title: '网络错误',
            })
          }
        });
      } else if (cateId != '-9999' && brandId != '-9998' && this.data.sortType != -1) {
        url = app.baseURL + 'Item&a=screen&type='+this.data.sortType + '&pagesize=' + this.data.pagesize + '&page=' + this.data.page + '&user_id=' + app.globalData.userId + '&cate_id=' + cateId + '&brand_id=' + brandId;
        //请求下一页数据
        wx.request({
          url: url,
          //数据请求成功qwe 
          success: (res) => {
            //更新数据
            this.setData({ goods: [...this.data.goods, ...res.data.list] });
            //调用函数，判断是否已经最后一页
            this.isNoMore(res.data.list.length);
          },
          fail: (err) => {
            wx.showToast({
              title: '网络错误',
            })
          }
        });
      }  
      // url = this.data.sortType == -1 ? app.baseURL + 'Item&a=index&pagesize=' + this.data.pagesize + '&page=' + this.data.page + '&user_id=' + app.globalData.userId 
      //   : app.baseURL + 'Item&a=screen&type=' + this.data.sortType + '&pagesize=' + this.data.pagesize + '&page=' + this.data.page + '&user_id=' + app.globalData.userId;
      // // 请求下一页数据
      // wx.request({
      //   url: url,
      //   //数据请求成功qwe 
      //   success: (res) => {
      //     //更新数据
      //     this.setData({ goods: [...this.data.goods, ...res.data.list]});
      //     //调用函数，判断是否已经最后一页
      //     this.isNoMore(res.data.list.length);
      //   },
      //   fail: (err) => {
      //     wx.showToast({
      //       title: '网络错误',
      //     })
      //   }  
      // });
    }
  },

  /* 每次请求完数据：
  *     1.判断是否已经加载到最后一页，最后一页，显示没有更多提示
  *     2.关闭加载中的图标  
  */
  isNoMore(n){
    this.setData({
      nomore: n < this.data.pagesize,
      loading: false
    }); 
  },

  //跳转到详情页
  navigaToDetail(e){
    wx.navigateTo({
      url: '/pages/detail/detail?item_id=' + e.currentTarget.dataset.item_id + '&user_id=' + app.globalData.userId,
    })
  },

  /*
  * 声明周期函数，监听页面隐藏
  */
  onHide(){
    app.globalData.catedid = null;
    // 每次离开页面时初始化参数
    // this.setData({
    //   //是否显示下拉菜单
    //   menu: -1,
    //   active1Font: '商品分类',
    //   active2Font: '价格排序',
    //   active3Font: '品牌',
    //   goods: [], //商品列表
    //   //商品图片基础url
    //   baseGoodsImgUrl: 'https://jrtest.0791jr.com/data/attachment/item/',
    //   //页数
    //   page: 1,
    //   //流加载---加载中提示
    //   loading: true,
    //   //流加载---没有更多了
    //   //也是判断是否要加载数据的阀门，false加载，true不加载
    //   nomore: false,
    //   //商品类别
    //   cateId: -9999,
    //   //品牌
    //   brandId:-9998,
    //   //是否选中销量排序
    //   salesActive: false,
    //   //价格排序的选中项
    //   priceItemActive: -1,
    //   //选择的排序类型
    //   sortType: -1,
    //   //没有任何商品时提示
    //   isNone: false
    // });
  }

})